1. Field of the Invention
The present invention relates generally to a high performance Fuzzy Logic processing method, and more particularly to a method that improves Fuzzy inference speed by Max-operation of rule contributions of Fuzzy control rules to avoid redundant calculation.
2. Description of Related Art
An automatic controller actuates a controlled system by maintaining an error between a desired value and output value to be as small as possible. Types of controllers include a PID (Proportional Integral-Derivative) controller, an Optimal Controller, an Adaptive controller, a Variable Structure System (VSS) and a Neural Network.
Fuzzy control theory was introduced when Prof. Zadeh of the United States contributed an article to "Information & Control" in 1965. Although Fuzzy theory was initially treated with indifference, it began to attract public attention in 1974 when Prof. Mamdani of Great Britain obtained good results by applying Fuzzy theory to a steam engine that failed to realize an anticipated result with a generally known PID controller and Optimal controller.
Fuzzy control determines a proper manipulated variable for an input through Fuzzy inference by representing a skilled operator's experience with Fuzzy sets and control rules. A Fuzzy logic for Fuzzy control employs the following operations:
* Fuzzy Negative PA1 Fuzzy AND logic is generalized by T-norm and defined as follows: PA1 T: [0,1].times.[0,1].fwdarw.[0,1] PA1 .mu..sub.(A AND B) (x)=MIN(.mu..sub.A (x),.mu..sub.B (x)) PA1 * Fuzzy OR logic PA1 s: [0,1].times.[0,1].fwdarw.[0,1] PA1 (1) S(x,1)=1, S(x,0)=x PA1 (2) IF x1.ltoreq.x2 THEN S(x1,y).ltoreq.S(x2,y) PA1 (3) S(x,y)=S(y,x) PA1 (4) S{x, S(y,z) }=S{S(x,y), z } PA1 .mu..sub.(A OR B) (X)=MAX (.mu..sub.A (X), .mu..sub.B (X)) PA1 * Fuzzy Relation PA1 The method of obtaining a membership of Fuzzy relation is defined as follows: PA1 .mu..sub.R (x,y)=MIN (.mu..sub.A (x), .mu..sub.B (Y)) PA1 * Fuzzy control rule #1: PA1 * Fuzzy control rule #2: PA1 Fuzzy control rule #n: PA1 i.e., RC=MIN (.mu.1, .mu.2)
.mu.(NOT A)(X)=1-.mu..sub.A (X) In above formula, .mu. is defined as a Fuzzy membership function, and the letter A means a certain Fuzzy set and X is an element. For example, the formula .mu..sub.A (X)=0.3 means that a membership for an element X to be a member of Set A is 0.3.
* Fuzzy AND logic
(1) T(x,1)=x, T(x,0)=0 (boundary condition) PA2 (2) IF x1.ltoreq.x2 THEN T(x1,y).ltoreq.T(x2,y) (monotonousness) PA2 (3) T(x,y)=T(y,x) (commutative law) PA2 (4) T{x, T(y,z)}=T{T(x,y), z } (associative law)
In other words, among operators that make two real numbers between 0 and 1 correspond two real numbers between 0 and 1, the above expressed operator is defined as T-norm that satisfies boundary condition, monotonousness, commutativeness and associativeness.
T-norm applied exemplarily is:
This formula is called MIN operation and means that minimum value (worse value) of both is selected.
Fuzzy OR logic is generalized by S-norm and defined as follows:
S-norm applied exemplarily is:
This formula is called as MAX operation and means that maximum value (better value) of both is selected.
An important principle of Fuzzy theory is Fuzzy inference, concluding a new fact from already known dependence of effect on cause. Fuzzy inference is chiefly formed as a Fuzzy control rule (or inference rule), such as [IF (antecedent part), THEN (consequent part)]. And an antecedent part can be subdivided as [antecedent part 1 AND antecedent part 2], the AND used here means the AND used in Fuzzy AND logic. And above-mentioned antecedent clause is formed as [input=Linguistic value (or Fuzzy value or Fuzzy label].
(Pressure is HIGH)
One type of Fuzzy inference processing is a Max-Min Fuzzy inference that processes Fuzzy control rules by the use of Min-operation to make a conclusion of each rule, and by the use of Max-operation to make a conclusion for the complete set of rules. FIG. 1 illustrates a Max-Min Fuzzy inference process for two antecedent and one consequent variables system. In FIG. 1, supposing that x1 and x2 are defined as antecedent variables of a control rule, and y is a consequent variable, and there are n Fuzzy control rules:
If x1 is negative big AND x2 is zero THEN y is positive small.
If x1 is negative small AND x2 is negative small THEN y is positive big.
______________________________________ . . . . . . ______________________________________
If x1 is zero AND x2 is zero THEN y is positive big.
As shown in FIG. 1, if each input value is x1 or x2, every antecedent part of Fuzzy control rule has memberships respectively corresponding to each input value, x1 or x2.
If two antecedent memberships in every Fuzzy control rules are determined, respective consequent parts select minimum membership of both, in accordance with Fuzzy AND logic. Consequent membership functions of every Fuzzy control rule are illustrated as hatched part of right side of FIG. 1.
As described above, if conclusion membership functions of every Fuzzy control rule are determined, a conclusion for the complete set of rules are evaluated by composing these membership functions in accordance with Fuzzy OR logic, to become a final conclusion membership function as shown in right-lower side of FIG. 1.
Among methods for applying above-mentioned Fuzzy inference method to a Fuzzy controller, there has been proposed a method for realizing a Fuzzy inference method with computer software. Hereinbelow, a proposed method for realizing a Fuzzy inference method with computer software is illustrated.
FIG. 2 is a flow chart of the proposed method of Fuzzy inference. A computer receives data of an antecedent (Step 11), and determines memberships of input data (Step 12).
For example, in Fuzzy control rule #1 of FIG. 1, a degree for x1 to be a member of a set (i.e., a label, in this example of a set of `negative big`) can be determined by selecting a value corresponding to x1 in a membership function of a set, i.e., a label of `negative big`.
After determining a membership of data, the proposed method determines a rule contribution of a Fuzzy control (Step 13).
A rule contribution (RC) is defined as a minimum value among memberships in a certain Fuzzy control rule.
Next, the proposed method determines a membership function of a conclusion part in accordance with RC (Step 14).
The proposed method adjusts the size of a conclusion membership function (e.g., `y is a positive small` in Fuzzy control rule #1 in FIG. 1) corresponding to RC of a Fuzzy control rule.
In the Max-Min processing method, by cutting off a part of a consequent membership function (e.g., `y is positive small`) in accordance with RC of a Fuzzy control rule, a final conclusion membership function is obtained, and this processing is named a `Min-process`.
On the other hand, in the Max-Product processing method, by scaling conclusion membership functions in accordance with RC of each Fuzzy control rule, a final conclusion membership function is obtained, and this processing is named a `Product-process`.
Completing above-mentioned operations, a Fuzzy control rule is executed.
After operating a Fuzzy control rule in due sequence, the proposed method determines whether it is the last Fuzzy control rule (Step 15). If not, the proposed method operates next Fuzzy control rule (Step 16), and repeats the Steps 12-15.
The proposed method obtains conclusion membership functions of each Fuzzy control rules by repeating this process.
Finally, the proposed method obtains a final conclusion membership function by composing the conclusion membership functions in accordance with Fuzzy OR logic, and this process is called as Max-process (Step 17).
According to necessity, to obtain a discrete conclusion value, the proposed method executes a Fuzzy contrary operation (Step 18) and outputs a conclusion value (Step 19).
In a conventional method of digitizing a Fuzzy inference with a digital computer or digital hardware, this Fuzzy inferencing method has limited application in a controller system requiring rapid processing.
However, in conventional Max-Min method or Max-Product method, when two of Fuzzy control rules have a same label in consequent part, and each consequent membership functions in accordance with RC of each Fuzzy control rules is overlapping to each other, then, in evaluating a final conclusion membership function, an inference conclusion kth Fuzzy control rule whose membership function is small relatively is included into the other conclusion of mth Fuzzy control rule whose membership function is larger than that of kth Fuzzy control rule.
Consequently, although a calculation for obtaining a conclusion membership function of kthFuzzy control rule is not necessary because of an inference conclusion of mth Fuzzy control rule, the calculation, however, is performed, resulting in increased of processing time.
To obtain a conclusion membership function, the proposed method selects a conclusion membership value that is smaller than a condition membership, among conclusion memberships stored in memory (if a conclusion membership is 8 bits of data, there stored 256 of conclusion memberships), and establishes a conclusion membership function with the selected conclusion membership, so that a total 256 compare-calculating processes for every channel of the condition parts are to be executed.
As a result, excessive processing time is required. For example, if the consequent value (y) is 8 bits of data, the membership function, .mu. Y(y) representing each Fuzzy label of Y is composed of 256 membership grades, and to calculate the conclusion membership .mu.'Y(y), the 256 times Min-operations should be carried out. EQU .mu.'Y(y)=Min (RC, .mu.Y(y)), Y=1, 2, . . . , 256
Since the above-mentioned operation is carried out for a redundant rule, the unnecessary time for calculation is spent calculating a number of redundant label.